硬件工程师所应具备的各种能力
◆ ◆ ◆
硬件工程师启蒙篇
一个硬件工程师需要懂的东西很多,从画原理图和PCB,再到做整体方案设计,要能设计会调试,能写文档也能动烙铁,能静心做事也能沟通协调。
一个好的硬件工程师:既需要好的专业素质,有方案调研的能力,汇总需求的能力,布局规划的能力以及设计的能力,同样要有好的沟通技巧,要和众多的芯片厂家和方案供应商联系和沟通需求,和结构工程师一起沟通布局和结构形式的设计实现,和软件工程师一起搭整个电路的硬件框架,讨论软硬件控制逻辑,功能实现的方式。最终还要和PCB厂、贴片厂对接工艺需求,完成各个物料跟进,PCB软硬件调试,整机联调,样机制作,最后还要提供详细的产品测试大纲及软硬件测试方法来检验样机的可批产性。对接生产,完成物料签样承认和生产导入。
可以说在整个产品从无到有最后做到成熟的过程中,每一个环节都离不开硬件工程师。不仅要对项目结果负责,还要对项目进度负责。
一个完整的硬件研制流程如下:
在整个研制流程中,硬件工程师需要全程参与,从整体到细节,从方案构想到测试状态收敛,下面每一个环节的能力都必不可少。
(1) 产品需求分析与汇总的能力要对整个产品的功能指标有清楚的判断,知道哪些可以实现哪些不能实现;要对所有的功能模块的电源接口、通讯接口需求有清晰的汇总,这样才能针对各个模块的需求给出总的设计方案。
(2)系统电路方案调研和设计的能力
要对各个模块之间的搭配及应用方法,预期效果有清楚的了解,会利用互联网资源对现有竞品进行检索对比,对系统平台的资源根据设计需求做出合理评估,平台方案要具备可拓展性和兼容性,系统电路设计要可靠。另外就是对于关键器件的选型,包括平台芯片、接插件、其它重要芯片及功能模块选型,要看关键器件的元器件性能是否满足环境适应性的要求,采购周期是否满足项目需求,是否有替代方案,整机BOM成本是否合理等等。这些都是决定一个系统电路方案设计好坏的关键因素。
(3)通讯架构和电源框架规划能力要对协议和标准有深刻的理解,评估一个系统设计合不合理,主要就是看这个系统的通讯架构设计是否简洁,软件协议是否具备拓展性和兼容性;电源框架设计是否稳定可靠,电源效率是否高效等等。
整个系统的布局是否合理,高频信号和低速信号是否有隔开,大电流的器件离磁力计等传感器器件是否够远,分板设计和走线设计是否简洁,干扰源是否有单独做隔离处理。
(5)硬件原理图设计的能力硬件原理图设计是否规范是评估一个硬件工程师能力的重要标准,好的原理图标识清晰,接口规范,可以指导PCB设计。另外就是电路逻辑设计是否合理,电源上下电逻辑和时序是否正确,接插件线序是否正确,芯片及其外围电路设计是否正确,接口是否加防护器件, 传感器误差和精度是否满足设计需求,是否有网络错误和原理错误,功能是否都可以实现等等,既要细心又要用心,不出错的设计才是好的设计。
一个好的layout设计可以解决很多硬件可靠性问题,大电流走线是否符合设计需求,模拟电路和数字电路是否分开摆放,模拟地和数字地是否分开,晶振,时钟走线是否有做GND屏蔽,高速信号线和差分信号线等长是否在要求范围内,某些敏感器件,比如磁力计和天线,下面是否净空,过孔大小是否合适,电路板的信号完整性是否有问题。PCB设计还要考虑工艺可批产性、可维修性和可测试性,一个标识规范,丝印清晰,方便维修的layout设计才具备好的批产性。比如电源layout的小窍门,电感的寄生并联电容尽量小,电感引脚焊盘之间的距离越远越好,如上图所示。
(7)项目进度管控的能力
硬件一个最大的问题就是设计周期是固定的,没法缩短,跟不好进度就只会延误。所以往往物料跟进的情况会影响到一个项目是否可以按照节点如期进行。这就需要学会评估风险,提前申购特定物料,合理安排项目进度计划,需要强大的责任心。
(8)调试和解BUG的能力
这里说到硬件工程师最重要的内容了,硬件电路设计出来,最重要的是要能实现所有的功能,这就需要具备很强的专业性,这也是一个硬件工程师的立足之本。所以在设计之初,就要对自己设计的硬件电路有清楚的预期,要会使用各种调试工具,比如万用表、负载仪、电源、示波器、频谱仪等。在遇到一些复杂的系统性问题时,还要有协调和组织解决问题分析的能力,懂必要的软硬件逻辑,能够和软件工程师一起来排查遇到的问题。总之,一个专业的硬件工程师能应对遇到的任何复杂的硬件问题,甚至可以对软件工程师起到指导问题解决的作用。
说了这么多,其实也没有多复杂。并没有什么天生的天赋异禀,所有的硬件工程师也都是慢慢积累和慢慢沉淀过来的,从刚毕业的小白到后面的不畏困难,这其中一个一个的问题,一个一个的项目都是美味的下酒菜,慢慢咀嚼,慢慢消化,遇得多了也就懂得多。当然要想成为一个更加优秀的硬件工程师,离不开每天不间断的学习积累和总结。最后想说一句,硬件工程师要耐得住寂寞,守得住专业,认真学习,努力深耕,搬砖搬久了也可以是一个技艺活!
-END-